home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / dev / gg / ncurses-5.3.lha / ncurses-5.3 / c++ / Makefile < prev    next >
Makefile  |  2002-10-24  |  10KB  |  342 lines

  1. # $Id: Makefile.in,v 1.64 2002/01/19 20:25:31 NIIBE.Yutaka Exp $
  2. ##############################################################################
  3. # Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc.      #
  4. #                                                                            #
  5. # Permission is hereby granted, free of charge, to any person obtaining a    #
  6. # copy of this software and associated documentation files (the "Software"), #
  7. # to deal in the Software without restriction, including without limitation  #
  8. # the rights to use, copy, modify, merge, publish, distribute, distribute    #
  9. # with modifications, sublicense, and/or sell copies of the Software, and to #
  10. # permit persons to whom the Software is furnished to do so, subject to the  #
  11. # following conditions:                                                      #
  12. #                                                                            #
  13. # The above copyright notice and this permission notice shall be included in #
  14. # all copies or substantial portions of the Software.                        #
  15. #                                                                            #
  16. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
  17. # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
  18. # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
  19. # THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
  20. # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
  21. # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
  22. # DEALINGS IN THE SOFTWARE.                                                  #
  23. #                                                                            #
  24. # Except as contained in this notice, the name(s) of the above copyright     #
  25. # holders shall not be used in advertising or otherwise to promote the sale, #
  26. # use or other dealings in this Software without prior written               #
  27. # authorization.                                                             #
  28. ##############################################################################
  29. #
  30. # Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
  31. #
  32. #  Simple makefile for c++ window class demo
  33.  
  34. # turn off _all_ suffix rules; we'll generate our own
  35. .SUFFIXES:
  36.  
  37. SHELL        = /bin/sh
  38.  
  39. CF_MFLAGS     = 
  40.  
  41. x        = 
  42.  
  43. MODEL        = ../objects
  44. DESTDIR        = 
  45. srcdir        = .
  46. prefix        = /gg
  47. exec_prefix    = ${prefix}
  48. libdir        = ${exec_prefix}/lib
  49. includedir    = $(prefix)/include/ncurses
  50.  
  51. LIBTOOL        = 
  52.  
  53. INSTALL        = /bin/install -c
  54. INSTALL_DATA    = ${INSTALL} -m 644
  55.  
  56. AR        = ar
  57. AR_OPTS        = rv
  58.  
  59. CXX_AR        = $(AR)
  60. CXX_AR_OPTS    = $(AR_OPTS)
  61. RANLIB        = ranlib
  62.  
  63. CXX        = g++
  64. CPP        = gcc -E
  65. CXXFLAGS    = -g -O2
  66. CXXLIBS        = 
  67.  
  68. INCDIR        = ../include
  69. CPPFLAGS    = -I../c++ -I$(INCDIR) -I$(srcdir) -DHAVE_CONFIG_H  -DNDEBUG -I. -I../include -I$(includedir)
  70.  
  71. CCFLAGS        = $(CPPFLAGS) $(CXXFLAGS)
  72.  
  73. CFLAGS_LIBTOOL    = $(CCFLAGS)
  74. CFLAGS_NORMAL    = $(CCFLAGS)
  75. CFLAGS_DEBUG    = $(CCFLAGS) -g -DTRACE
  76. CFLAGS_PROFILE    = $(CCFLAGS) -pg
  77. CFLAGS_SHARED    = $(CCFLAGS) unknown
  78.  
  79. CFLAGS_DEFAULT    = $(CFLAGS_NORMAL)
  80.  
  81. NCURSES_MAJOR    = 5
  82. NCURSES_MINOR    = 3
  83. REL_VERSION     = 5.3
  84. ABI_VERSION    = 5
  85.  
  86. LINK        =  $(LIBTOOL) $(CXX) 
  87.  
  88. LIBROOT        = ncurses++
  89.  
  90. LIBNAME_LIBTOOL    = lib$(LIBROOT).la
  91. LIBNAME_NORMAL    = lib$(LIBROOT).a
  92. LIBNAME        = lib$(LIBROOT).a
  93.  
  94. LINK_FLAGS    =  -L../lib -l$(LIBROOT)
  95.  
  96. LINK_LIBTOOL    =  -L../lib ../lib/$(LIBNAME)
  97. LINK_NORMAL    = $(LINK_FLAGS)
  98. LINK_DEBUG    = $(LINK_FLAGS)
  99. LINK_PROFILE    = $(LINK_FLAGS)
  100. LINK_SHARED    = $(LINK_FLAGS)
  101.  
  102. LDFLAGS        = -L../lib -lform -lmenu -lpanel -lncurses  -s -lm \
  103.         $(CXXLIBS)
  104.  
  105. LDFLAGS_LIBTOOL    = $(LDFLAGS)
  106. LDFLAGS_NORMAL    = $(LDFLAGS)
  107. LDFLAGS_DEBUG    = $(LDFLAGS) -g
  108. LDFLAGS_PROFILE    = $(LDFLAGS) -pg
  109. LDFLAGS_SHARED    = $(LDFLAGS) 
  110.  
  111. LDFLAGS_DEFAULT    = $(LINK_NORMAL) $(LDFLAGS_NORMAL)
  112.  
  113. AUTO_SRC    = \
  114.         etip.h
  115.  
  116. all \
  117. libs ::        $(AUTO_SRC) ../lib/$(LIBNAME)
  118.  
  119. all ::        demo$x
  120.  
  121. sources :    $(AUTO_SRC)
  122.  
  123. depend :
  124.  
  125. # Build a conventional library for installing, since a shared library would
  126. # pull in all of the ncurses libraries (panel, menu, form, ncurses) as direct
  127. # dependencies.
  128. LIB_OBJS = \
  129.     $(MODEL)/cursesf.o \
  130.     $(MODEL)/cursesm.o \
  131.     $(MODEL)/cursesw.o \
  132.     $(MODEL)/cursespad.o \
  133.     $(MODEL)/cursesp.o \
  134.     $(MODEL)/cursslk.o \
  135.     $(MODEL)/cursesapp.o \
  136.     $(MODEL)/cursesmain.o
  137.  
  138. ../lib/$(LIBNAME_NORMAL) : $(LIB_OBJS)
  139.     $(CXX_AR) $(CXX_AR_OPTS) $@ $?
  140.     $(RANLIB) $@
  141.  
  142. ../lib/$(LIBNAME_LIBTOOL) : $(LIB_OBJS)
  143.     cd ../lib && $(LIBTOOL) $(CXX) -o $(LIBNAME) $(LIB_OBJS:.o=.lo) \
  144.         -rpath $(INSTALL_PREFIX)$(libdir) \
  145.         -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR)
  146.  
  147. OBJS_DEMO = $(MODEL)/demo.o
  148.  
  149. $(MODEL)/demo.o : $(srcdir)/demo.cc \
  150.     $(cursesf_h) $(cursesm_h) $(cursesapp_h)
  151.  
  152. demo$x:    $(OBJS_DEMO) \
  153.     ../lib/$(LIBNAME)  \
  154.     ../lib/libform.a ../lib/libmenu.a ../lib/libpanel.a ../lib/libncurses.a 
  155.      $(LINK) -o $@ $(OBJS_DEMO) $(LDFLAGS_DEFAULT)
  156.  
  157. etip.h:    $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
  158.     cp $(srcdir)/etip.h.in $@
  159.     sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
  160.  
  161. $(DESTDIR)$(libdir) :
  162.     sh $(srcdir)/../mkinstalldirs $@
  163.  
  164. install \
  165. install.libs:: ../lib/$(LIBNAME) $(DESTDIR)$(libdir)
  166.     $(LIBTOOL) $(INSTALL) ../lib/$(LIBNAME) $(DESTDIR)$(libdir)/$(LIBNAME)
  167.  
  168. uninstall \
  169. uninstall.libs::
  170.     -$(LIBTOOL) rm -f $(DESTDIR)$(libdir)/$(LIBNAME)
  171.  
  172. mostlyclean ::
  173.     -rm -f core tags TAGS *~ *.bak *.i *.ii *.ln *.atac trace
  174.  
  175. clean :: mostlyclean
  176.     -rm -rf $(MODEL)/SunWS_cache
  177.     -$(LIBTOOL) rm -f demo$x $(AUTO_SRC) ../lib/$(LIBNAME) $(LIB_OBJS) $(LIB_OBJS:.o=.lo) $(OBJS_DEMO)
  178.     -rm -rf .libs
  179.  
  180. distclean :: clean
  181.     -rm -f Makefile
  182.  
  183. realclean :: distclean
  184.  
  185. ###############################################################################
  186.  
  187. cursesw_h    = $(srcdir)/cursesw.h \
  188.           etip.h \
  189.           $(INCDIR)/curses.h
  190.  
  191. cursesp_h    = $(srcdir)/cursesp.h \
  192.           $(cursesw_h) \
  193.           $(INCDIR)/panel.h
  194.  
  195. cursesf_h    = $(srcdir)/cursesf.h \
  196.           $(cursesp_h) \
  197.           $(INCDIR)/form.h
  198.  
  199. cursesm_h    = $(srcdir)/cursesm.h \
  200.           $(cursesp_h) \
  201.           $(INCDIR)/menu.h
  202.  
  203. cursslk_h    = $(srcdir)/cursslk.h \
  204.           $(cursesw_h)
  205.  
  206. cursesapp_h    = $(srcdir)/cursesapp.h \
  207.           $(cursslk_h)
  208.  
  209. $(INCDIR)/form.h :
  210.     cd ../form && $(MAKE) $@
  211.  
  212. $(INCDIR)/menu.h :
  213.     cd ../menu && $(MAKE) $@
  214.  
  215. $(INCDIR)/panel.h :
  216.     cd ../panel && $(MAKE) $@
  217.  
  218. ###############################################################################
  219. # The remainder of this file is automatically generated during configuration
  220. ###############################################################################
  221.  
  222. # generated by mk-0th.awk
  223.  
  224. .SUFFIXES: .c .cc .h .i .ii
  225. .c.i :
  226.     $(CPP) $(CPPFLAGS) $< >$@
  227. .cc.ii :
  228.     $(CPP) $(CPPFLAGS) $< >$@
  229. .h.i :
  230.     $(CPP) $(CPPFLAGS) $< >$@
  231.  
  232. C_SRC = \
  233.     $(srcdir)/cursesf.cc \
  234.     $(srcdir)/cursesm.cc \
  235.     $(srcdir)/cursesp.cc \
  236.     $(srcdir)/cursesw.cc \
  237.     $(srcdir)/cursespad.cc \
  238.     $(srcdir)/cursslk.cc \
  239.     $(srcdir)/cursesapp.cc \
  240.     $(srcdir)/cursesmain.cc \
  241.     $(srcdir)/demo.cc
  242.  
  243. lintlib :
  244.     @echo no action needed
  245.  
  246. # generated by mk-1st.awk
  247.  
  248. NORMAL_OBJS = \
  249.     ../objects/cursesf.o \
  250.     ../objects/cursesm.o \
  251.     ../objects/cursesp.o \
  252.     ../objects/cursesw.o \
  253.     ../objects/cursespad.o \
  254.     ../objects/cursslk.o \
  255.     ../objects/cursesapp.o \
  256.     ../objects/cursesmain.o \
  257.     ../objects/demo.o
  258.  
  259. $(NORMAL_OBJS) : ../include/ncurses_cfg.h
  260.  
  261. mostlyclean::
  262.     -rm -f $(NORMAL_OBJS)
  263.  
  264. clean ::
  265.     -rm -f $(NORMAL_OBJS)
  266.  
  267. # generated by mk-2nd.awk
  268.  
  269.  
  270. ../objects/cursesf.o :    $(srcdir)/cursesf.cc \
  271.             $(cursesf_h) \
  272.             $(cursesapp_h)
  273.     cd ../objects; $(LIBTOOL) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesf.cc
  274.  
  275. ../objects/cursesm.o :    $(srcdir)/cursesm.cc \
  276.             $(cursesm_h) \
  277.             $(cursesapp_h)
  278.     cd ../objects; $(LIBTOOL) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesm.cc
  279.  
  280. ../objects/cursesp.o :    $(srcdir)/cursesp.cc \
  281.             $(cursesp_h)
  282.     cd ../objects; $(LIBTOOL) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesp.cc
  283.  
  284. ../objects/cursesw.o :    $(srcdir)/cursesw.cc \
  285.             $(cursesw_h)
  286.     cd ../objects; $(LIBTOOL) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesw.cc
  287.  
  288. ../objects/cursespad.o :    $(srcdir)/cursespad.cc \
  289.             $(cursesw_h)
  290.     cd ../objects; $(LIBTOOL) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursespad.cc
  291.  
  292. ../objects/cursslk.o :    $(srcdir)/cursslk.cc \
  293.             $(cursslk_h) \
  294.             $(cursesapp_h)
  295.     cd ../objects; $(LIBTOOL) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursslk.cc
  296.  
  297. ../objects/cursesapp.o :    $(srcdir)/cursesapp.cc \
  298.             $(cursesapp_h)
  299.     cd ../objects; $(LIBTOOL) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesapp.cc
  300.  
  301. ../objects/cursesmain.o :    $(srcdir)/cursesmain.cc \
  302.             $(cursesapp_h)
  303.     cd ../objects; $(LIBTOOL) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesmain.cc
  304.  
  305. ../objects/demo.o :    $(srcdir)/demo.cc \
  306.             $(cursesf_h) \
  307.             $(cursesm_h) \
  308.             $(cursesapp_h)
  309.     cd ../objects; $(LIBTOOL) $(CXX) $(CFLAGS_NORMAL) -c ../c++/demo.cc
  310.  
  311. $(DESTDIR)$(includedir) :
  312.     sh $(srcdir)/../mkinstalldirs $@
  313.  
  314. install \
  315. install.libs \
  316. install.includes :: $(AUTO_SRC) $(DESTDIR)$(includedir) \
  317.         $(srcdir)/cursesapp.h \
  318.         $(srcdir)/cursesf.h \
  319.         $(srcdir)/cursesm.h \
  320.         $(srcdir)/cursesp.h \
  321.         $(srcdir)/cursesw.h \
  322.         $(srcdir)/cursslk.h \
  323.         etip.h
  324.     @ (cd $(DESTDIR)$(includedir) && rm -f cursesapp.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/cursesapp.h
  325.     @ (cd $(DESTDIR)$(includedir) && rm -f cursesf.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/cursesf.h
  326.     @ (cd $(DESTDIR)$(includedir) && rm -f cursesm.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/cursesm.h
  327.     @ (cd $(DESTDIR)$(includedir) && rm -f cursesp.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/cursesp.h
  328.     @ (cd $(DESTDIR)$(includedir) && rm -f cursesw.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/cursesw.h
  329.     @ (cd $(DESTDIR)$(includedir) && rm -f cursslk.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/cursslk.h
  330.     @ (cd $(DESTDIR)$(includedir) && rm -f etip.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) etip.h
  331.  
  332. uninstall \
  333. uninstall.libs \
  334. uninstall.includes ::
  335.     -@ (cd $(DESTDIR)$(includedir) && rm -f cursesapp.h)
  336.     -@ (cd $(DESTDIR)$(includedir) && rm -f cursesf.h)
  337.     -@ (cd $(DESTDIR)$(includedir) && rm -f cursesm.h)
  338.     -@ (cd $(DESTDIR)$(includedir) && rm -f cursesp.h)
  339.     -@ (cd $(DESTDIR)$(includedir) && rm -f cursesw.h)
  340.     -@ (cd $(DESTDIR)$(includedir) && rm -f cursslk.h)
  341.     -@ (cd $(DESTDIR)$(includedir) && rm -f etip.h)
  342.